Providing Collaboration services to Business Applications to correlate user collaboration with the business application

ABSTRACT

An aspect of the present invention provides collaboration services to business applications and such a service is provided by a mediator and a collaboration application. The collaboration service offers a user of the business application the ability to collaborate with other users of the business application or one or more responders such that any collaboration that occurs between the user and the responder is correlated to the business application and to the corresponding actions performed by the user with respect to the business application, thus maintaining the context of the collaboration. Another aspect of the present invention provides a collaboration service wherein the user of the business application is provided with at least part of a history of collaboration that occurred between the user and one or more responders.

RELATED APPLICATION

The present application is related to and claims priority from theco-pending India Patent Application entitled, “PROVIDING COLLABORATIONSERVICES TO BUSINESS APPLICATIONS TO CORRELATE USER COLLABORATION WITHTHE BUSINESS APPLICATION”, Serial Number: 983/CHE/2007, attorney docketnumber: ORCL-046, Filed: May 9, 2007, naming the same inventors as inthe subject patent application, and is incorporated in its entiretyherewith.

BACKGROUND

1. Technical Field

The present invention generally relates to collaboration services, andmore specifically to various collaboration services offered to users ofbusiness applications.

2. Related Art

Collaboration services enable users of different computer systems tocollaborate (communicate) with each other to seek solutions to problemsand share information by various collaborative tools such as email,instant messaging, file sharing, web conferencing, etc. Users ofbusiness applications such as Customer Relationship Management,Enterprise, Resource Management, etc use these collaborative tools tocommunicate with other users of the business application.

A user of a business application may typically perform certain actionswith respect to the business application, such as selecting an item froma set of items, completing a form, etc. While performing these actionswith respect to the business application the user may often need tocommunicate with other users of the business application or one or moresuitable responders who can respond to any queries the user may have inorder to complete the actions. In such case the user may use one of thecollaborative tools such as an email, to communicate, and reproduce therelevant business application information, such as the correspondingactions performed by the user with respect to the business application,in the email to set a context for the communication. The user sends suchemail and receives a response from one or more responders and any othersubsequent email messages sent and received for the above context. Allsuch email messages are stored along with the multitude of emailmessages typically in the user's message box.

One disadvantage with this approach of communication between users ofthe business application is that for any future reference to the emailmessages sent and received with respect to the above context, the usermay have to spend considerable time searching through the entire messagebox and correlating the email to the business application and thecorresponding actions performed with respect to the businessapplication. This may also discourage the user from re-using theinformation exchanged in these emails.

Thus there is need for techniques that enable communication betweenusers of business application and reduce and/or eliminate theabove-described disadvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will be described with reference tothe accompanying drawings briefly described below.

FIG. 1 is a block diagram illustrating the various components operatingin the system of an embodiment of the present invention.

FIG. 2A illustrates the type of data carried in the context informationaccording to an embodiment of the present invention and FIG. 2Billustrates an instance of the type of data carried in the contextinformation according to an example embodiment of the present invention.

FIG. 3A illustrates the type of data stored in the mediator according toan embodiment of the present invention and FIG. 3B illustrates aninstance of the data type stored in the mediator according to an exampleembodiment of the present invention.

FIGS. 4A to 4G are exemplary snapshots of the pages, such as a web pageof a business application illustrating several embodiments of thepresent invention.

FIG. 5 is a flowchart illustrating the manner in which a businessapplication functions to offer collaboration services to a user of thebusiness application according to an aspect of the present invention.

FIG. 6 is a flowchart illustrating the manner in which a mediatoroperates to generate the collaboration link according to an aspect ofthe present invention.

FIG. 7 is a flowchart illustrating the manner in which the mediatormediates communication between the user and responder of the businessapplication according to an aspect of the present invention.

FIG. 8 is a flowchart illustrating the manner in which the mediatorfunctions to generate the collaboration history link according to anaspect of the present invention.

FIG. 9 is a flowchart illustrating the various steps performed by thecomponents of the present invention to provide the collaborationservices to a business application according various embodiments of thepresent invention.

FIG. 10 is a block diagram illustrating the details of digitalprocessing system in which several aspects of the present invention areoperative by execution of appropriate software instructions.

In the drawings, like reference numbers generally indicate identical,functionally similar, and/or structurally similar elements. The drawingin which an element first appears is indicated by the leftmost digit(s)in the corresponding reference number.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

Some embodiments of the present invention provide collaboration servicesto business applications such that any collaboration that occurs betweena user of one or more business applications and one or more respondersis correlated to the business application(s) and to the correspondingactions performed by the user with respect to the businessapplication(s), thus maintaining the context of the collaboration.Optionally, some embodiments of the present invention provide acollaboration service wherein the user of a business application isprovided with at least part of a history of collaboration that occurredbetween the user and one or more responders.

An aspect of the present invention provides collaboration services tobusiness applications and such a service is provided by a mediator and acollaboration application, wherein the mediator is a computer-basedsystem that is capable of mediating communication between two or morecomputer-implemented processes such as between the business applicationand the collaboration application. The collaboration service offers auser of the business application the ability to collaborate with otherusers of the business application or one or more responders such thatany collaboration that occurs between the user and the responder iscorrelated to the business application and to the corresponding actionsperformed by the user with respect to the business application, thusmaintaining the context of the collaboration.

Another aspect of the present invention provides a collaboration servicewherein the user of the business application is provided with at leastpart of a history of collaboration that occurred between the user andone or more responders.

One more aspect of the present invention provides a mediator thatmediates communication between the business application and thecollaboration application in order to provide collaboration services.The mediator receives context information generated by the businessapplication, such context information, may include information thatrepresents the actions performed by the user with respect to thebusiness application and the corresponding state of the businessapplication and a responder suitable for responding to any queriesrelated to any such action. Based on the context information themediator queries the collaboration application for collaborationinformation, such collaboration information may include information on acurrent or mode of communication with one or more responders, such asemail, voice, text messaging, paging, annotations in a document,pop-ups, a message in a Web page, or instant messaging, etc. Based onthe collaboration information the mediator generates a collaborationlink, such as a hyperlink that opens and redirects the user to acommunication client such as an email client or chat client in order tofacilitate communication with one or more responders.

The mediator may send this collaboration link to the businessapplication that incorporates the link on the page/section of thebusiness application (referred to as current section) that generated thecontext information.

According to another aspect of the present invention, the mediatormediates communication between the user of the business application andone or more responders to provide the user a history of collaborationthat occurred between the user and the responder. In an embodiment themediator participates in the communication between the user and one ormore responders (referred to as collaboration session) and stores anidentifier (ID) corresponding to the communication content such as theemail message (hereafter, referred to as collaboration data). Themediator generates a collaboration history link, such as a hyperlinkthat redirects the user of the business application to a page, such as aweb page, that includes at least part of the history of communicationbetween the user and one or more responders The mediator sends thiscollaboration history link to the business application that incorporatesthe link on the current section of the business application

Several aspects of the invention are described below with reference toexamples for illustration. It should be understood that numerousspecific details, relationships, and methods are set forth to provide afull understanding of the invention. One skilled in the relevant art,however, will readily recognize that the invention can be practicedwithout one or more of the specific details, or with other methods, etc.In other instances, well-known structures or operations are not shown indetail to avoid obscuring the features of the invention.

2. EXAMPLE ENVIRONMENT

Some or all of the Figures below have been explained with reference toan example application when required, such as the Oracle® InternetExpense application, a travel and expense solution for expensereimbursement from Oracle Corporation of Redwood Shores, Calif. Anemployee or a user of this application may use this application forsubmitting expenses online for approval and subsequent reimbursement. Ina scenario of the example embodiment, the user has to navigate throughall the pages of the application and fill in the relevant sections tofinally submit the expense for approvals. The expenses may be approvedby the user's approving manager or any other overriding approver as setby the user in the create expense report section of the application.

FIG. 1 is a block diagram illustrating the various components operatingin the system of an embodiment of the present invention. The diagram isshown containing business applications 110A-110C running on one or moreapplication servers 140, mediator 120 with its data store 125 running ona server system 150 and a collaboration application 130 running on oneor more application servers 160. The one or more business applications,for example, 110A-110C and mediator 120 are coupled together by anetwork 170 (an intra network or inter network such as the Internet or acombination thereof), and the mediator 120 and the collaborationapplication 130 are coupled together by a network 180 (an intra networkor inter network such as the Internet or a combination thereof). Eachelement of the system is described in further detail below.

While network 170, network 180, application server 140, server system150, and application server 160 are shown as separate in FIG. 1, inother embodiments they may be combined together in various combinations.For example, networks 170 and 180 may be the same network. In anotherexample the Business Applications (e.g., 110A-C), Mediator 120, andCollaboration Application 130 can be on one server or distributed over acombination of servers.

Business applications 110A-110C refer to a computer-based systemimplementing a business process or a business function and processingbusiness information in order to achieve the objectives of the businessfunction. To a user, business application 110A-110C typically offersseveral web pages or client pages; the user navigates through the pages,and performs certain actions with respect to each page such as selectingan item from a set of items, completing a form, proceeding to nextsection, etc.

The mediator 120 is a computer-based system including a data store 125and mediates communication between the business applications 110A-110Cand the collaboration application 130 to provide the collaborationservices according to an aspect of the present invention. The data store125 of the mediator 120 stores the context information and an IDrepresenting the collaboration data. The mediator 120 uses thisinformation stored in the data store 125 to generate the collaborationlink and the collaboration history link according to an aspect of theinvention.

The collaboration application 130 is a computer-based system providingvarious collaboration services. In an embodiment, the servicescorrespond to at least some of those provided by the Oracle®Collaboration Suite 10g from Oracle Corporation of Redwood Shores,Calif. According to an embodiment of the present invention thecollaboration application 130 provides information on a current orpreferred mode of communication for one or more responders. Thecollaboration application 130 in turn may seek the services of apresence service or such to get the information on a current orpreferred mode of communication for one or more responders, as is wellknown in the art.

According to an embodiment of the present invention, a businessapplication, for example, business application 110A generates contextinformation for a user of the business application 110A as illustratedin FIG. 2A. The context information has two parts, a businessapplication context 210 and a collaboration context 220, which aredescribed below with examples.

The business application context 210 represents the actions (entry ofdata/inputs on forms/screens, etc.) performed by the user of thebusiness application with respect to the business application or asection of the business application and/or the corresponding (internal)state of the business application generating the context information.Thus, the business application context may include the identifier of theuser causing the context information to be sent, a page/section of thebusiness application which caused the context information to begenerated and sent, etc.

In the illustrative example, the business application context is showncontaining user name 210A, page name/section name 210B, and businessapplication name 210C. The page name/section name 210B is typically apage such as a web page the user has requested. Based on the businessapplication context the business application 110A selects apredetermined responder, a person suitable for responding to the usersqueries.

The collaboration context 220 represents those parameters (e.g., useridentifier) of a collaborator (a remote user party to the collaboration,or responder in this example) that are determined in the businessapplication. Thus, the collaboration context includes information suchas a predetermined responder selected for responding to the user of thebusiness application and is shown by the name of the responder 220A inthe embodiment of the invention. The business application 110A sends thecontext information illustrated in FIG. 2A to the mediator 120.

In an embodiment, the mediator 120 receives the context informationillustrated in FIG. 2A from the business application 110A and stores thebusiness application context 210 in its data store 125 as illustrated inFIG. 3A. The mediator 120 generates a query for the collaborationapplication 130 to get collaboration information on the responderindicated in the collaboration context 220. The mediator 120 stores thiscollaboration information in its data store 125 as illustrated in FIG.3A, element 330D. Such collaboration information 330D includes thecurrent or preferred mode of communication (such as email, voice, textmessaging, paging, annotations in a document, pop-ups, a message in aWeb page, or instant messaging, etc) for the name of the responder 220Ain FIG. 2A.

In another embodiment, the mediator 120 generates a collaboration link,such as a hyperlink that opens and redirects the user to a communicationclient such as an email client or chat client, in order to facilitatecommunication with the responder 220A. The collaboration link isgenerated based on the information stored in the data store 125, such asthe business application context 330A to 330C and the collaborationinformation 330D in FIG. 3A. The mediator 120 sends the collaborationlink to the business application 110A that in turn incorporates thislink on the current page/section of the business application i.e. thepage name/section name 210B indicated in the business applicationcontext 210 in FIG. 2A. When the user of the business application 110Aselects the collaboration link, control is redirected to the mediator120 that opens a communication client as is indicated in thecollaboration information 330D in FIG. 3A to initiate a collaborationsession between the user and the responder.

In another embodiment, the mediator 120 adds itself as a participant inthe collaboration session between the user and the responder to get thecollaboration data and stores an ID corresponding to the collaborationdata such as the IMAP URL ID in the data store 125 as illustrated inFIG. 3A, element 330E. When the mediator 120 receives the contextinformation illustrated in FIG. 2A from the business application 110A,the mediator 120 searches its data store 125 for any prior entries onthe context information and if there are any, the mediator 120 generatesa collaboration history link, such as a hyperlink, which redirects theuser to a web page including information on a history of priorcollaboration sessions between the user and the responder indicated inthe context information. The mediator 120 sends this collaborationhistory link to the business application 110A, which in turnincorporates it on the current page/section i.e. the page name/sectionname 210B indicated in the business application context 210.

3. EXAMPLE EMBODIMENT

FIGS. 4A to 4G are example snapshots of the web pages of the businessapplication, for example, 110A, such as the Oracle® Internet Expensesapplication (hereafter referred to as Internet Expense application) fromOracle Corporation of Redwood Shores, Calif. and are only indicative ofsome of the operations of the application. A typical user of theInternet expense application such as John Doe is an employee filing forofficial expenses for reimbursement. Once the expenses are filed andsubmitted it reaches the employee's manager, Mary Beth in the example,who in turn approves/rejects the expenses. FIGS. 5 to 9 are flowchartsillustrating the various embodiments of the present invention and aredescribed below with respect to the system in FIG. 1, FIGS. 2B and 3Band FIGS. 4A to 4G.

FIG. 5 is a flowchart illustrating the manner in which the InternetExpense application (referred to as business application in theflowchart) operates to offer collaboration service to the user of theInternet Expense application. The flowchart begins in step 501; when theuser logs in to the Internet Expense application as shown in FIG. 4A andaccesses the first page of the application 400 shown in FIG. 4B and onthis page selects the section titled create expense report 410. Thecontrol immediately passes on to step 510.

In step 510, the Internet Expense application selects a predeterminedresponder suitable for responding to any queries the user may have onthe create expense report page. In the Internet Expense applicationexample, the responder is the manager Mary Beth responsible forapproving the user John Doe's expenses.

In step 520, the Internet Expense application generates the contextinformation as illustrated in FIG. 2B, wherein, the business applicationcontext is represented by; john.doe@acme.com 222, create expense report224, Oracle Internet Expense application 226 and the collaborationcontext is represented by Mary Beth 228. The Internet Expenseapplication sends this context information to the mediator 120.

In step 530, the Internet Expense application sends this contextinformation to the mediator 120.

In step 540, the Internet Expense application receives the collaborationlink and the collaboration history link, if any, from the mediator 120.

In step 550, the Internet Expense application incorporates thecollaboration link 452 and the collaboration history link 454, if any,on the create expense report page 450 of the Internet Expenseapplication as shown in FIG. 4F. If no collaboration history link isreceived from the mediator 120, create expense report page 420 as shownin FIG. 4C with only the collaboration link 422 is displayed.

The flowchart ends in step 599. The flowchart then repeats for each pagethat the user navigates to, displaying the collaboration link andcollaboration history link, if any, for that page.

FIG. 6 is a flowchart illustrating the functions performed by themediator 120 to generate the collaboration link for the Internet Expenseapplication. The flowchart begins in step 601, and control immediatelypasses to step 610.

In step 610, the mediator 120 receives the context information in FIG.2B from the Internet Expense application.

In step 620, the mediator 120 separates the business application contextfrom the collaboration context and stores the business applicationcontext in its data store 125. The business application context asstored in the data store 125 is illustrated in FIG. 3B asjohn.doe@acme.com 342, create expense report 344, and Oracle InternetExpense application 345.

In step 630, the mediator 120 generates a query for the collaborationapplication 130 to get collaboration information on the collaborationcontext Mary Beth as indicated in FIG. 2B 228.

In step 640, the mediator 120 receives the collaboration informationfrom the collaboration application 130, which in this example ismary.beth@acme.com 346. The mediator 120 stores this collaborationinformation 346 in its data store 125 as illustrated in FIG. 3B.

In step 650 the mediator 120 generates a collaboration link based on thecollaboration information. A collaboration link for the exampleembodiment of the present invention is a hyperlink as shown below:

http://collabmed.acme.com/mediate.jspx?app=oracle-internet-expense&user=john.doe@acme.com&page=create-expense-report&responder=mary.beth@acme.com&collab=email,

wherein;

app—represents the name or identity of the business application

user—represents the name/contact address of the user of the InternetExpense application

page—represents the current page/section of the Internet Expenseapplication

app&user&page—represent the business application context

responder—represents the collaboration information i.e. the responderpredetermined to respond to the user of the business application for thecurrent page/section

collab—represents the current or preferred mode of communication asindicated in the collaboration information

In step 660 the mediator 120 sends the collaboration link to theInternet Expense application.

The flowchart ends in step 669.

FIG. 7 is a flowchart, illustrating the manner in which the mediator 120mediates communication between the user and the responder of theInternet Expense application. The flowchart begins in step 701 when theuser selects the collaboration link 422 displayed on the create expensereport page 420 of the Internet Expense application as in FIG. 4C andcontrol passes to the mediator 120. The flowchart proceeds to step 710.

In step 710, the mediator 120 opens an email client as shown in FIG. 4Dto initiate a collaboration session between the user and the responder.

In step 720, the mediator 120 completes the To address field (To:mary.beth@acme.com 432) and adds itself as a participant (cc:mediator@acme.com 434) in the collaboration session as shown in FIG. 4D.The user John Doe, types in a message 436 for his manager Mary Beth andsends the email message. The manager Mary Beth replies to the emailmessage as shown in FIG. 4E including the mediator in the communicationas cc: mediator@acme.com 444 and types in the message 446 and sends theemail.

In step 730, the mediator 120 stores in its data store 125 shown in FIG.3B an ID such as an IMAP URL (for example, 348 and 349) corresponding tothe email messages 430 and 440 shown in FIGS. 4D and 4E respectively.

The flowchart ends in step 799.

FIG. 8 is a flowchart illustrating the manner in which the mediator 120generates the collaboration history link. The flowchart begins in step801, and control immediately passes to step 810.

In step 810, the mediator 120 receives the context information in FIG.2B from the Internet Expense application.

In step 820, the mediator 120 separates the business application contextfrom the collaboration context. The business application context as isillustrated in FIG. 2B as john.doe@acme.com 222, create expense report224, and Oracle Internet Expense application 226.

In step 830, the mediator 120 searches in its data store 125 for anyprevious entries on the context information with respect to both thebusiness application context and the collaboration context. If there areno entries in the data store 125, corresponding to a condition wherein,the user John Doe has never collaborated with his manager Mary Beth, nocollaboration history link will be generated and the flowchart ends instep 899 otherwise the flowchart proceeds to step 840.

In step 840, the mediator 120 generates a collaboration history link,such as a hyperlink, that will redirect the user to a web page 460 as inFIG. 4G. FIG. 4G shows two links, link 1 462 and link 2 464corresponding to two different entries in the data store 125. Selectingeach link 462 or 464, will display at least part of the details of eachof the past collaboration sessions as shown in the FIG. 4G below eachlink.

In step 850, the mediator 120 sends the collaboration history link tothe Internet Expense application.

The flowchart ends in step 899.

FIG. 9 is a flowchart illustrating the various steps performed by thecomponents of the present invention of system of FIG. 1 according to anaspect of the present invention. The flowchart begins in step 901; whenthe user logs in to the Internet Expense application as shown in FIG. 4Aand accesses the first page of the application shown in FIG. 4B and onthis page 400 selects the section titled create expense report 410. Thecontrol immediately passes on to step 910.

In step 910, the Internet Expense application selects a predeterminedresponder suitable for responding to any queries the user may have onthe create expense report page 420 (FIG. 4C) and generates the contextinformation as illustrated in FIG. 2B.

In step 920, the Internet Expense application sends this contextinformation to the mediator 120.

In step 930, the mediator 120 separates the business application contextfrom the collaboration context and stores the business applicationcontext in its data store 125.

In step 940, the mediator 120 queries the collaboration application 130for collaboration information for the collaboration context.

In step 950, the mediator 120 receives the collaboration informationfrom the collaboration application 130. The mediator 120 stores thiscollaboration information in its data store 125 as illustrated in FIG.3B 346.

In step 960 the mediator 120 generates a collaboration link based on thecollaboration information and also checks if there are any prior entriesin the data store 125 corresponding to the context information. In casethere are any prior entries on the corresponding context information,the mediator 120 also generates a collaboration history link.

In step 970, the mediator 120 sends the collaboration link andcollaboration history link, if any, to the Internet Expense application.

In step 980, the Internet Expense application incorporates thecollaboration link and collaboration history link, if any, on thecurrent page/section of the application (for example, 452 and 454 ofFIG. 4F).

The flowchart ends in step 999.

From the above, it may be appreciated that a mediator provides one ormore links related to collaboration between a user of the businessapplication and the collaborator (second user to the collaboration).Collaboration link, which simplifies the user to initiate communicationwith the collaborator using a collaboration client potentially of thecollaborator's choice (based on determination using collaborationinformation, as described above), is an example of such a link.Collaboration history link, which facilitates the user to also view thehistory information of collaboration, is another example of the link.However, the link may lead to any other information related tocollaboration in alternative embodiments.

While email is shown as the collaboration client in the examplesdescribed with the Figures/drawings, it should be appreciated that othercollaboration clients (such as video conferencing, VoIP, etc.) can alsobe used (potentially as preferred by a user at that time of day,collaboration context, etc.) to facilitate collaboration.

It should be appreciated that the features described above can beimplemented in a combination of one or more of hardware, software andfirmware, as suited for the specific environment. The description iscontinued with respect to an embodiment in which the features areoperative upon execution of appropriate software instructions.

4. DIGITAL PROCESSING SYSTEM

FIG. 10 is a block diagram illustrating the details of digitalprocessing system 1000 in which various aspects of the present inventionare operative by execution of appropriate software instructions. Digitalprocessing system 1000 may correspond to application servers 140 orserver system 150 or application server 160 of FIG. 1. Digitalprocessing system 1000 may contain one or more processors (such as acentral processing unit (CPU) 1010), random access memory (RAM) 1020,secondary memory 1030, graphics controller 1060, display unit 1070,network interface 1080, and input interface 1090. All the componentsexcept display unit 1070 may communicate with each other overcommunication path 1050, which may contain several buses as is wellknown in the relevant arts. The components of FIG. 10 are describedbelow in further detail.

CPU 1010 may execute instructions stored in RAM 1020 to provide severalfeatures of the present invention. CPU 1010 may contain multipleprocessing units, with each processing unit potentially being designedfor a specific task. Alternatively, CPU 1010 may contain only a singlegeneral purpose-processing unit. RAM 1020 may receive instructions fromsecondary memory 1030 using communication path 1050

Graphics controller 1060 generates display signals (e.g., in RGB format)to display unit 1070 based on data/instructions received from CPU 1010.Display unit 1070 contains a display screen to display the imagesdefined by the display signals. Input interface 1090 may correspond to akeyboard and a pointing device (e.g., touch-pad, mouse). Networkinterface 1080 provides connectivity to a network (e.g., using InternetProtocol), and may be used to communicate with others connected systemsof FIG. 1.

Secondary memory 1030 may contain hard drive 1035, flash memory 1036,and removable storage drive 1037. Secondary memory 1030 may store thedata (e.g., data depicted in FIG. 2A and portions of data depicted inFIG. 3A) and software instructions (e.g., implementing the flowcharts ofFIGS. 5 to 8), which enable system 1000 to provide several features inaccordance with the present invention. Some or all of the data andinstructions may be provided on removable storage unit 1040, and thedata and instructions may be read and provided by removable storagedrive 1037 to CPU 1010. Floppy drive, magnetic tape drive, CD-ROM drive,DVD Drive, Flash memory, removable memory chip (PCMCIA Card, EPROM) areexamples of such removable storage drive 1037.

Removable storage unit 1040 may be implemented using medium and storageformat compatible with removable storage drive 1037 such that removablestorage drive 1037 can read the data and instructions. Thus, removablestorage unit 1040 includes a computer readable storage medium havingstored therein computer software and/or data. However, the computer (orin general, machine) readable storage medium can be in other forms(e.g., non-removable, random access, etc.).

Further, even though the machine-readable medium is shown as beingcontained within system 1000, it should be appreciated that the mediumcan be provided external to system 1000. In such a case, theinstructions may be received, for example, on a network. In addition,some of the aspects can be implemented on a cooperating set of computersystems, even though the system 1000 is shown as a single system. Thesoftware instructions may accordingly be adapted for such distributedprocessing.

In this document, the term “computer program product” is used togenerally refer to removable storage unit 1040 or hard disk installed inhard drive 1035. These computer program products are means for providingsoftware to system 1000. CPU 1010 may retrieve the softwareinstructions, and execute the instructions to provide various featuresof the present invention described above.

5. CONCLUSION

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. Thus, the breadth and scope of thepresent invention should not be limited by any of the above-describedexemplary embodiments, but should be defined only in accordance with thefollowing claims and their equivalents.

1. A method for providing collaboration services to a businessapplication, the method being performed in the business application andthe collaboration services being offered by a mediator and acollaboration application, the method comprising: generating contextinformation representing the actions performed by a first user of thebusiness application, the context information also identifying a seconduser of the business application predetermined for the first user;sending the context information to the mediator; receiving from themediator a collaboration link; and incorporating the collaboration linkon a current page of the business application.
 2. The method of claim 1,wherein the context information further comprises a business applicationcontext and a collaboration context, wherein the business applicationcontext includes information on the first user and the current page ofthe business application and the collaboration context includesinformation on the second user of the business application.
 3. Themethod of claim 2, wherein the current page of the business applicationcomprises a page of the business application requested by the firstuser.
 4. The method of claim 2, wherein, the second user is a predefinedresponder for the first user and the current page of the businessapplication.
 5. The method of claim 1, wherein the current section ofthe business application comprises a web page associated with thebusiness application.
 6. The method of claim 1, wherein thecollaboration link comprises a hyperlink on the web page of the businessapplication, redirecting the first user to a communication client forcommunicating with the second user of the business application.
 7. Amethod for providing collaboration services to a business application,the method being performed in the business application and thecollaboration services being offered by a mediator and a collaborationapplication, the method comprising: generating context informationrepresenting the actions performed by a first user of the businessapplication, the context information also identifying a second user ofthe business application predetermined for the first user; sending thecontext information to the mediator; receiving from the mediator acollaboration history link; and incorporating the collaboration historylink on a current page of the business application.
 8. The method ofclaim 7, wherein the context information further comprises a businessapplication context and a collaboration context, wherein the businessapplication context includes information on the first user and thecurrent page of the business application and the collaboration contextincludes information on the second user of the business application. 9.The method of claim 8, wherein the current page of the businessapplication comprises a page of the business application requested bythe first user.
 10. The method of claim 8, wherein the second user is apredefined responder for the first user and the current page of thebusiness application.
 11. The method of claim 7, wherein the currentsection of the business application comprises a web page associated withthe business application.
 12. The method of claim 7, wherein thecollaboration history link comprises a hyperlink on the web page of thebusiness application, for at least part of a history of communicationbetween the first user and the second user.
 13. A method for providingcollaboration services to a business application, the method beingperformed in the business application and the collaboration servicesbeing offered by a mediator and a collaboration application, the methodcomprising: generating context information representing the actionsperformed by a first user of the business application, the contextinformation also identifying a second user of the business applicationpredetermined for the first user; sending the context information to themediator; sending the context information to the mediator; receivingfrom the mediator one or more links; and incorporating the one or morelinks on a current page of the business application.
 14. The method ofclaim 13, wherein the context information further comprises a businessapplication context and a collaboration context, wherein the businessapplication context includes information on the first user and thecurrent page of the business application and the collaboration contextincludes information on the second user of the business application. 15.The method of claim 14, wherein the current page of the businessapplication comprises a page of the business application requested bythe first user.
 16. The method of claim 14, wherein the second user is apredefined responder for the first user and the current page of thebusiness application.
 17. The method of claim 13, wherein the currentsection of the business application comprises a web page associated withthe business application.
 18. The method of claim 13, wherein the one ormore links comprises a collaboration link which is a hyperlink on theweb page of the business application, redirecting the first user to acommunication client for communicating with the second user of thebusiness application.
 19. The method of claim 13, wherein the one ormore links comprises a collaboration history link which is a hyperlinkon the web page of the business application, for at least part of ahistory of communication between the first user and the second user. 20.A method for mediating communication between plurality of businessapplications and a collaboration application, the method comprising:receiving from the business application context information representingthe actions performed by a first user of the business application, thecontext information also identifying a second user of the businessapplication predetermined for the first user; receiving collaborationinformation from the collaboration application; and sending the businessapplication a collaboration link.
 21. The method of claim 20, whereinthe context information further comprises a business application contextand a collaboration context, wherein the business application contextincludes information on the first user and the current page of thebusiness application and the collaboration context includes informationon the second user of the business application.
 22. The method of claim20, wherein, the mediator queries the collaboration application forcollaboration information for the collaboration context and wherein, thecollaboration information includes information on a preferred mode ofcommunication with the second user of the business application.
 23. Themethod of claim 20, wherein the collaboration link comprises a linkredirecting the first user of the business application to acommunication client for communicating with the second user of thebusiness application and wherein the communication client is a client asdetermined from the collaboration information.
 24. A method formediating communication between users of a business application, themethod comprising: receiving from the business application contextinformation representing the actions performed by a first user of thebusiness application, the context information also identifying a seconduser of the business application predetermined for the first user;storing the business application context and retrieving an identifierassociated with collaboration data from a data store for the businessapplication context; generating a collaboration history link; andsending the collaboration history link to the business application. 25.The method of claim 24, wherein the context information furthercomprises a business application context and a collaboration context,wherein the business application context includes information on thefirst user and the current page of the business application and thecollaboration context includes information on the second user of thebusiness application.
 26. The method of claim 24, wherein the mediatorstores an identifier associated with collaboration data of acollaboration session between the first user and the second user of thebusiness application and wherein the collaboration session comprises anemail communication.
 27. The method of claim 26, wherein the mediatoradds itself as a participant in the collaboration session between thefirst user and the second user of the business application.
 28. Themethod of claim 26, wherein the mediator initiates the collaborationsession when the first user of the business application selects anaction corresponding to opening of a communication client forcommunication with the second user of the business application andwherein the desired action is generated by the mediator.
 29. The methodof claim 24, wherein the collaboration history link is a link for atleast part of a history of communication between the first user and thesecond user.
 30. A machine readable medium storing one or more sequencesof instructions for providing collaboration services to a businessapplication executing on one or more application servers, thecollaboration service being offered by a mediator executing on a serversystem and a collaboration application executing on one or moreapplication servers, wherein execution of the one or more sequences ofinstructions by one or more processors contained in the one or moreapplication servers causes the application servers to perform theactions of: generating context information representing the actionsperformed by a first user of the business application, the contextinformation also identifying a second user of the business applicationpredetermined for the first user; sending the context information to themediator; receiving from the mediator a collaboration link; andincorporating the collaboration link on a current page of the businessapplication.
 31. The machine readable medium of claim 30, wherein thecontext information further comprises a business application context anda collaboration context, wherein the business application contextincludes information on the first user and the current page of thebusiness application and the collaboration context includes informationon the second user of the business application.
 32. The machine readablemedium of claim 31, wherein the current page of the business applicationcomprises a page of the business application requested by the firstuser.
 33. The machine readable medium of claim 30, wherein the currentsection of the business application comprises a web page associated withthe business application.
 34. The machine readable medium of claim 30,wherein the collaboration link comprises a hyperlink on the web page ofthe business application, redirecting the first user to a communicationclient for communicating with the second user of the businessapplication.
 35. A machine readable medium storing one or more sequencesof instructions for providing collaboration services to a businessapplication executing on one or more application servers, thecollaboration service being offered by a mediator executing on a serversystem and a collaboration application executing on one or moreapplication servers, wherein execution of the one or more sequences ofinstructions by one or more processors contained in the one or moreapplication servers causes the application servers to perform theactions of: generating context information representing the actionsperformed by a first user of the business application, the contextinformation also identifying a second user of the business applicationpredetermined for the first user; sending the context information to themediator; receiving from the mediator a collaboration history link; andincorporating the collaboration history link on a current page of thebusiness application.
 36. The machine readable medium of claim 35,wherein the context information further comprises a business applicationcontext and a collaboration context, wherein the business applicationcontext includes information on the first user and the current page ofthe business application and the collaboration context includesinformation on the second user of the business application.
 37. Themachine readable medium of claim 36, wherein the current page of thebusiness application comprises a page of the business applicationrequested by the first user.
 38. The machine readable medium of claim35, wherein the current section of the business application comprises aweb page associated with the business application.
 39. The machinereadable medium of claim 35, wherein the collaboration history linkcomprises a hyperlink on the web page of the business application, forat least part of a history of communication between the first user andthe second user.
 40. A machine readable medium storing one or moresequences of instructions for causing a server system to mediatecommunication between plurality of business applications executing onone or more application servers and a collaboration applicationexecuting on one or more application servers, wherein execution of theone or more sequences of instructions by one or more processorscontained in the server system causes the server system to perform theactions of: receiving from the business application context informationrepresenting the actions performed by a first user of the businessapplication, the context information also identifying a second user ofthe business application predetermined for the first user; receivingcollaboration information from the collaboration application; andsending the business application a collaboration link.
 41. The machinereadable medium of claim 40, wherein the context information furthercomprises a business application context and a collaboration context,wherein the business application context includes information on thefirst user and the current page of the business application and thecollaboration context includes information on the second user of thebusiness application.
 42. The machine readable medium of claim 40,wherein, the mediator queries the collaboration application forcollaboration information for the collaboration context and wherein, thecollaboration information includes information on a preferred mode ofcommunication with the second user of the business application.
 43. Themachine readable medium of claim 40, wherein the collaboration linkcomprises a link redirecting the first user of the business applicationto a communication client for communicating with the second user of thebusiness application and wherein the communication client is a client asset in the collaboration information.
 44. A machine readable mediumstoring one or more sequences of instructions for causing a serversystem to mediate communication between users of a business applicationexecuting on one or more application servers, wherein execution of theone or more sequences of instructions by one or more processorscontained in the server system causes the server system to perform theactions of: receiving from the business application first contextinformation and storing in a data store a part of the first contextinformation; receiving and storing in the data store first collaborationinformation from the collaboration application; sending the businessapplication a first collaboration link; opening a communication clientfor a first collaboration session between the first user and the seconduser of the business application when the first user of the businessapplication selects the first collaboration link; storing in the datastore an identifier associated with first collaboration data of thefirst collaboration session between the first user and the second userof the business application; receiving from the business applicationsecond context information and storing in the data store a part of thesecond context information; receiving and storing in the data storesecond collaboration information from the collaboration application;sending the business application a second collaboration link; retrievingfrom the data store the identifier associated with the firstcollaboration data and generating a collaboration history link; sendingthe collaboration history link to the business application; opening acommunication client for a second collaboration session between thefirst user and the second user of the business application when thefirst user of the business application selects the second collaborationlink; and storing in the data store an ID associated with secondcollaboration data of the second collaboration session between the firstuser and the second user of the business application.
 45. The machinereadable medium of claim 44, wherein the second context informationmatches the first context information.
 46. The machine readable mediumof claim 44, wherein the context information further comprises abusiness application context and a collaboration context, wherein thebusiness application context includes information on the first user andthe current page of the business application and the collaborationcontext includes information on the second user of the businessapplication and wherein the business application context is stored inthe data store.
 47. The machine readable medium of claim 44, wherein,the mediator queries the collaboration application for collaborationinformation for the collaboration context and wherein, the collaborationinformation includes information on a preferred mode of communicationwith the second user of the business application.
 48. The machinereadable medium of claim 47 wherein the preferred mode of communicationsis selected from a group consisting of email, voice, text messaging,paging, annotations in a document, pop-ups, a message in a Web page,instant messaging, or any combination thereof.
 49. The machine readablemedium of claim 44, wherein the collaboration link comprises a hyperlinkredirecting the first user of the business application to acommunication client for communicating with the second user of thebusiness application and wherein the communication client is a client asset in the collaboration information.
 50. The machine readable medium ofclaim 44, wherein the collaboration session comprises an emailcommunication and wherein the mediator adds itself as a participant inthe collaboration session.
 51. The machine readable medium of claim 44,wherein the identifier associated with the collaboration data is an IMAPURL for the email communication.
 52. The machine readable medium ofclaim 44, wherein the collaboration history link is a hyperlink for atleast part of a history of communication between the first user and thesecond user.
 53. An apparatus for providing collaboration services to abusiness application executing on one or more application servers, thecollaboration services being offered by a mediator executing on a serversystem and a collaboration application executing on one or moreapplication servers, the apparatus being contained in the one or moreapplication server, the apparatus comprising: means for generatingcontext information representing the actions performed by a first userof the business application, the context information also identifying asecond user of the business application predetermined for the firstuser; means for sending the context information to the mediator; meansfor receiving from the mediator a collaboration history link; and meansfor incorporating the collaboration history link on a current page ofthe business application.
 54. The apparatus of claim 53, wherein thecontext information further comprises a business application context anda collaboration context, wherein the business application contextincludes information on the first user and the current page of thebusiness application and the collaboration context includes informationon the second user of the business application
 55. The apparatus ofclaim 54, wherein the current page of the business application comprisesa page of the business application requested by the first.
 56. Theapparatus of claim 53 wherein the current section of the businessapplication comprises a web page associated with the businessapplication.
 57. The apparatus of claim 53, wherein the collaborationhistory link comprises a hyperlink on the web page of the businessapplication, for at least part of a history of communication between thefirst user and the second user.
 58. An apparatus for mediatingcommunication between users of a business application, the apparatusbeing contained in a server system, the apparatus comprising: means forreceiving from the business application context information representingthe actions performed by a first user of the business application, thecontext information also identifying a second user of the businessapplication predetermined for the first user; means for receivingcollaboration information from the collaboration application; and meansfor sending the business application a collaboration link.
 59. Theapparatus of claim 58, wherein the context information further comprisesa business application context and a collaboration context, wherein thebusiness application context includes information on the first user andthe current page of the business application and the collaborationcontext includes information on the second user of the businessapplication.
 60. The apparatus of claim 58, wherein the mediator storesan identifier associated with collaboration data of a collaborationsession between the first user and the second user of the businessapplication and wherein the collaboration session comprises an emailcommunication.
 61. The apparatus of claim 60, wherein the mediator addsitself as a participant in the collaboration session between the firstuser and the second user of the business application.
 62. The apparatusof claim 60, wherein the mediator initiates the collaboration sessionwhen the first user of the business application selects an actioncorresponding to opening of a communication client for communicationwith the second user of the business application and wherein the desiredaction is generated by the mediator.
 63. The apparatus of claim 58,wherein the collaboration history link is a hyperlink for at least partof a history of communication between the first user and the seconduser.